Advances in semi-conductor processing and logic design have permitted an increase in the amount of logic that may be present on integrated circuit devices. In addition, smaller and more efficient transistor design has resulted in integrated circuits capable of operating at higher frequencies. Recent microprocessors designers have developed methods to save power during periods of low utilization. For example, SpeedStep™ by Intel Corporation allows for frequency of a processor to be dynamically changed by software. Often software, such as an Operating System (OS), includes code/drivers, which may be integrated in power management code, to interface with the frequency scaling capability of a processor.
Typically, stepping intervals are referred to in frequency intervals, such as a capability of scaling processor frequency in 100 MHZ intervals. However, frequency scaling is usually accomplished through scaling of voltage. As a result, an OS may request frequency throttling, and the processor, in response, scales voltage to accordingly scale frequency.
However, during some operating conditions, such as low utilization of a processor by an operating system (OS), the OS may request frequency of the processor to be throttled. However, when the frequency is throttled to a level requested by software, platform tasks may not be taken into account. As a result, the throttled execution power may be split by the OS and platform tasks, which potentially results in inefficient processor utilization, as the previously throttled amount of frequency could have been available to the platform.